class CreateSaleOrderDetails < ActiveRecord::Migration
  def self.up
    create_table :sale_order_details do |t|
      t.integer :sale_order_id      ,:null => false             #销售订单ID
      t.integer :product_id         ,:null => false             #产品的编号
      t.integer :quantity           ,:default => 0              #产品的数量
      t.decimal :unit_price     , :null => false , :precision => 8, :scale => 2  ,:default => 0   #进货时的单价，暂时放着，可能没用。
      t.decimal :ori_unit_price , :null => false , :precision => 8, :scale => 2  ,:default => 0   #最原始的价格。
      t.decimal :discount     ,:precision => 9 ,:scale => 6  ,:default => 1.0   #折扣
      t.decimal :amount  , :precision => 10, :scale => 2  ,:default => 0        #总价格
      t.string  :description                     #备注或一些更详细信息可以在这儿填写
      t.integer :order_number                    #暂时没用，放着。
      t.string  :edit_status                     #以下四个是给编辑审批时用的字段。
      t.decimal :new_unit_price
      t.decimal :new_discount
      t.integer :new_quantity
      t.decimal :new_amount
      t.integer :is_locked    , :limit => 1  ,:default => 0   #锁定 1为True 0为False
      t.integer :lock_version  , :default => 0  #乐观锁
      t.timestamps
    end
  end

  def self.down
    drop_table :sale_order_details
  end
end
